#include <iostream>
#include <string>
//字符串字面值通常只保存在内存中的只读区域

// 在函数中引用字符串参数时推荐使用 const std::string& 形式传入，引用方式传入确保函数不会建立字符串的副本，减少字符串复制到副本的开销
void Function(const std::string& message)
{
    std::cout << message << std::endl;
}

int main()
{
    //c++ 中 string 的基本语法
    std::string text = "Hello";
    //如果需要添加字符串,在std::string中操作符 += 被重载，允许接收const char* 类型的值，并将它添加在原字符串后
    text += "World";
    //查找某个字符串的子串是否在指定字符串中,std::string::npos 代表一个不存在的位置,find 返回首次出现地址
    bool contains = text.find("llo") != std::string::npos;

    Function(text);

    
    //R 关键字忽略文本中的转义字符,等价于
    /*
    const char* example2 = "Line1\nLine2\nLine3\n";
    */
    const char* example = R"(Line1
line2
line3)";
    
    std::cout << example << std::endl;
    return 0;
}